#pragma once
#include "Common.h"

// 说明：noexcept函数内抛出的异常不会被捕获，程序直接终止
// 函数内抛出的异常包括函数内直接throw和嵌套调用内的throw
void NoExcept() noexcept
{
    // throw("noexcept");
    vector<int> arr(10);
    arr.at(10) = 10;
}

void Test_Exception()
{  
    try
    {
        NoExcept();
    }
    catch(const std::exception& e)
    {
        std::cerr << e.what() << '\n';
    }
    catch (const char *str)
    {
        std::cerr << str << '\n';
    }
    
}